package com.funtester.seven.day3;

import java.util.ArrayList;
import java.util.List;

public class Collect {

    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("1");
        list.add("3");
        list.add("2");
        list.add("3");
//        System.out.println(list.contains("3"));
//        System.out.println(list.indexOf("3"));
//        System.out.println(list.lastIndexOf("3"));
//        System.out.println(list.size());
//        System.out.println(list.isEmpty());
//        System.out.println(list.remove(9));
//        String remove = list.remove(2);
//        System.out.println(remove);

        List<String> list2 = new ArrayList<>();
        list2.add("1");
        list2.add("6");
        list2.add("3");
//        list.addAll(list2);
        list.removeAll(list2);
//        list.remove("3");
//        for (int i = 0; i < list.size(); i++) {
//            System.out.println(list.get(i));
//        }

        //从小到大顺序构建一个100以内质数的list,至少使用两种思路,,.
        //一种是先找数字,再添加
//        一种是先创建2~100再删除
        List re = find(100);
        output(re);

    }

    /**
     * 小于bound的所有质数集合
     *
     * @param bound
     * @return
     */
    public static List find(int bound) {
        List<Integer> re = new ArrayList<>();
        for (int i = 2; i < bound; i++) {
            if (isNeed(i)) re.add(i);
        }
        return re;
    }

    /**
     * 判断一个数是否是质数
     *
     * @param i
     * @return
     */
    public static boolean isNeed(int i) {
        for (int j = 2; j < i - 1; j++) {
            if (i % j == 0) return false;
        }
        return true;
    }

    /**
     * 输出list
     *
     * @param list
     */
    public static void output(List list) {
        for (int i = 0; i < list.size(); i++) {
            output(list.get(i));
        }
    }

    public static void output(Object o) {
        System.out.println(o.toString());
    }

}
